package com.dragon.modules.yuegou.entity.product;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.product.CoupTemplateStockRecordStockType;
import com.dragon.modules.yuegou.enums.product.CoupTemplateStockRecordType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 商品券库存变更记录实体类<br>
 * 对应的表为：pro_coup_template_stock_record<br>
 * 
 * @author pbuilder generated
 * @date 2021-05-11 16:55:17
 * @company sgy
 * @version 2.0
 */
@TableName("pro_coup_template_stock_record")
@ApiModel(description = "商品券库存变更记录")
public class CoupTemplateStockRecordEntity  {

    /**  */
	protected String id;

    /** 商品券模板ID */
	@ApiModelProperty("商品券模板ID")
	protected String couponTemplateId;

    /** 总量 */
	@ApiModelProperty("总量")
	protected Integer total;

    /** 库存 */
	@ApiModelProperty("库存")
	protected Integer stock;

    /** 变化值 */
	@TableField("`change`")
	@ApiModelProperty("变化值")
	protected Integer change;

    /** [枚举]库存类型：0-入库-IN、1-出库-OUT */
	@ApiModelProperty("[枚举]库存类型：0-入库-IN、1-出库-OUT")
	protected CoupTemplateStockRecordStockType stockType;

    /** [枚举]库存变更类型：0-新增券-INIT、1-后台编辑-EDIT、3-商户申请-MERCHANT */
	@ApiModelProperty("[枚举]库存变更类型：0-新增券-INIT、1-后台编辑-EDIT、3-商户申请-MERCHANT")
	protected CoupTemplateStockRecordType type;

    /** 创建人ID */
	@ApiModelProperty("创建人ID")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

	/**
	 * 构造一个空商品券库存变更记录实体对象
	 */
	public CoupTemplateStockRecordEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个商品券库存变更记录实体对象
	 * 
	 * @param other 其它对象
	 */
	public CoupTemplateStockRecordEntity(CoupTemplateStockRecordEntity other){
		super();
     	this.id = other.id;
     	this.couponTemplateId = other.couponTemplateId;
     	this.total = other.total;
     	this.stock = other.stock;
     	this.change = other.change;
     	this.stockType = other.stockType;
     	this.type = other.type;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取商品券模板ID
	 * 
	 * @return couponTemplateId 商品券模板ID
	 */
	public String getCouponTemplateId() {
		return couponTemplateId;
	}
  	
	/**
	 * 设置商品券模板ID
	 * 
	 * @param couponTemplateId 商品券模板ID
	 */
	public void setCouponTemplateId(String couponTemplateId) {
		this.couponTemplateId = couponTemplateId;
	}

	/**
	 * 获取总量
	 * 
	 * @return total 总量
	 */
	public Integer getTotal() {
		return total;
	}
  	
	/**
	 * 设置总量
	 * 
	 * @param total 总量
	 */
	public void setTotal(Integer total) {
		this.total = total;
	}

	/**
	 * 获取库存
	 * 
	 * @return stock 库存
	 */
	public Integer getStock() {
		return stock;
	}
  	
	/**
	 * 设置库存
	 * 
	 * @param stock 库存
	 */
	public void setStock(Integer stock) {
		this.stock = stock;
	}

	/**
	 * 获取变化值
	 * 
	 * @return change 变化值
	 */
	public Integer getChange() {
		return change;
	}
  	
	/**
	 * 设置变化值
	 * 
	 * @param change 变化值
	 */
	public void setChange(Integer change) {
		this.change = change;
	}

	/**
	 * 获取[枚举]库存类型：0-入库-IN、1-出库-OUT
	 * 
	 * @return stockType [枚举]库存类型：0-入库-IN、1-出库-OUT
	 */
	public CoupTemplateStockRecordStockType getStockType() {
		return stockType;
	}
  	
	/**
	 * 设置[枚举]库存类型：0-入库-IN、1-出库-OUT
	 * 
	 * @param stockType [枚举]库存类型：0-入库-IN、1-出库-OUT
	 */
	public void setStockType(CoupTemplateStockRecordStockType stockType) {
		this.stockType = stockType;
	}

	/**
	 * 获取[枚举]库存变更类型：0-新增券-INIT、1-后台编辑-EDIT、3-商户申请-MERCHANT
	 * 
	 * @return type [枚举]库存变更类型：0-新增券-INIT、1-后台编辑-EDIT、3-商户申请-MERCHANT
	 */
	public CoupTemplateStockRecordType getType() {
		return type;
	}
  	
	/**
	 * 设置[枚举]库存变更类型：0-新增券-INIT、1-后台编辑-EDIT、3-商户申请-MERCHANT
	 * 
	 * @param type [枚举]库存变更类型：0-新增券-INIT、1-后台编辑-EDIT、3-商户申请-MERCHANT
	 */
	public void setType(CoupTemplateStockRecordType type) {
		this.type = type;
	}

	/**
	 * 获取创建人ID
	 * 
	 * @return createdBy 创建人ID
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建人ID
	 * 
	 * @param createdBy 创建人ID
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

    public String toString() {
		return new StringBuilder().append("CoupTemplateStockRecordEntity{").
			append("id=").append(id).
			append(",couponTemplateId=").append(couponTemplateId).
			append(",total=").append(total).
			append(",stock=").append(stock).
			append(",change=").append(change).
			append(",stockType=").append(stockType).
			append(",type=").append(type).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public CoupTemplateStockRecordEntity copy() {
		return new CoupTemplateStockRecordEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 商品券模板ID */
	public static final String COL_COUPON_TEMPLATE_ID = "coupon_template_id";

    /** 总量 */
	public static final String COL_TOTAL = "total";

    /** 库存 */
	public static final String COL_STOCK = "stock";

    /** 变化值 */
	public static final String COL_CHANGE = "`change`";

    /** [枚举]库存类型：0-入库-IN、1-出库-OUT */
	public static final String COL_STOCK_TYPE = "stock_type";

    /** [枚举]库存变更类型：0-新增券-INIT、1-后台编辑-EDIT、3-商户申请-MERCHANT */
	public static final String COL_TYPE = "type";

    /** 创建人ID */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";
}
